# 练习题：
# 1、已知一个数字列表，打印列表中所有的奇数
# list1 = [1,2,3,4,5]
# for a in list1:
#     if a % 2 == 1:
#         print(a)
# 2、已知一个数字列表，打印列表中所有能被能被3整除但是不能被2整除的数
# list2 = [3,6,9,12,15]
# for b in list2:
#     if b % 3 == 0 and b % 2 != 0:
#         print(b)
# 3、已知一个数字列表，计算所有偶数的和
# list3 = [1,2,3,4,5]
# print(sum(c for c in list3))
# 4、已知一个列表，获取列表中下标为奇数是所有元素(从0开始的下标值)
# list4 = [1,2,3,4,5]
# result = []
# for d in range(len(list4)):
#     if d % 2 != 0:
#         result.append(list4[d])
# print(result)
# 5、已知一个数字列表，将列表中所有元素乘以2
# list5 = [1,2,3]
# print([num * 2 for num in list5])
# 6、定义一个列表保存多个学生的分数，删除列表中所以低于60分的值
# list6 = [55,61,99,0]
# result = []
# for f in list6:
#     if f >= 60:
#         result.append(f)
# print(result)
# 7、已知一个列表保存了多个学生的姓名，要求去掉列表中重复的名字
# list7 = ["karry","roy","jackson","karry"]
# print(list(set(list7)))
# 8、已知一个数字列表，获取列表中值最大的元素 （不能使用max函数）
# list8 = [7,2,3,9,5,6]
# max_ = float('-inf')
# for g in list8:
#     if g > max_:
#         max_ = g
# print(max_)
# 9、已知两个有序列表(列表中的元素已经按照从小到大的方式排好序)，要求合并两个列表，合并后元素还是从小到大排序
# 例如： list1 = [10, 23, 45, 67, 91] 输入: 50 -> list1 = [10, 23, 45, 50, 67, 91]
# list9 =[1,3,5,7,9,11]
# list91 =[2,4,6,8,10]
# merged_list = []
# i = 0
# j = 0
# while i < len(list9) and j < len(list91):
#     if list9[i] < list91[j]:
#         merged_list.append(list9[i])
#         i += 1
#     else:
#         merged_list.append(list91[j])
#         j += 1
# merged_list.extend(list9[i:])
# merged_list.extend(list91[j:])
# print(merged_list)
#
# dict = {"k1": "v1", "k2": "v2", "k3": "v3"}
# 10、请循环遍历出所有的key
# key = dict.keys()
# print(key)
# 11、请循环遍历出所有的value
# value = dict.values()
# print(value)
# 12、请循环遍历出所有的key和value
# key = dict.keys()
# value = dict.values()
# print(key,value)
# 13、请在字典中增加一个键值对, "k4": "v4"，输出添加后的字典
# dict["k4"] = "v4"
# print(dict)
# 14、请删除字典中键值对 "k1": "v1", 并输出删除后的结果
# del dict["k1"]
# print(dict)
# 15、请删除字典中键"k5"对应的键值对，如果字典中不存在键"k5", 则不报错，返回None
# print(dict.pop("k5",None))
# 16、请获取字典中"k2"对应的值
# print(dict["k2"])#第一种
# print(dict.get("k2"))#第二种
# 17、请获取字典中"k6"对应的值, 如果不存在，则不报错，并且让其返回None。
# print(dict.get("k6",None))
# 18、现有dict2 = {"k1": "v11", "a": "b"}, 通过一行操作使dict2 = {"k1": "v1", "k2": "v2", "k3": "v3", "a": "b"}
# dict2 = {"k1": "v11", "a": "b"}
# dict2["k1"] = "v1"
# dict2["k2"] = "v2"
# dict2["k3"] = "v3"
# del dict2["a"]
# dict2["a"] = "b"
# print(dict2)
# 19、定义一个电话簿，里头设置以下联系人：
#  'mayun':'13309283335',
#
#     'zhaolong':'18989227822',
#
#     'zhangmin':'13382398921',
#
#     'Gorge':'19833824743',
#
#     'Jordan':'18807317878',
#
#     'Curry':'15093488129',
#
#     'Wade':'19282937665'
# 现在输入人名，查询他的号码。
# 【输入形式】
phonenumber = {
    'mayun':'13309283335',
    'zhaolong':'18989227822',
    'zhangmin':'13382398921',
    'Gorge':'19833824743',
    'Jordan':'18807317878',
    'Curry':'15093488129',
    'Wade':'19282937665'}
# haoma = phonenumber.get(input("输入姓名:"))
# print(f"他的号码是：",haoma)
# 人名，是一个字符串。
# all_keys_are_strings = all(isinstance(key, str) for key in phonenumber.keys())
# if all_keys_are_strings:
#     print("所有人名都是字符串类型。")
# else:
#     print("人名不全是字符串类型。")
# 电话号码。如果该人不存在，返回"not found"
# dhhm = input("Please enter in a phonenumber:")
# if dhhm not in phonenumber.values():
#     print("not found")
# else:
#     rm = list(phonenumber.keys())[list(phonenumber.values()).index(dhhm)]
#     print(rm)
